<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>05-计算属性的另一种写法</title>
</head>
<body>
  <div id="app">
    <h1>vue的例子</h1>
    <p>{{msg}}</p>
    <input type="text" v-model="firstName"> +
    <input type="text" v-model="lastName"> =
    <input type="text" v-model="fullName">
  </div>
  <script src="../js/vue.js"></script>
  <script>
    Vue.config.productionTip = false; // 关闭生产提示
    const vm = new Vue({
      el: '#app',
      data: {
        msg: 'hello',
        firstName: '阎',
        lastName: '海静'
      },
      computed: {
        // 简单写法
        // fullName() {
        //   return this.firstName + ' ' + this.lastName
        // }
        
        // 完整写法
        fullName: {
          get() {
            // 当取值的时候，也就是渲染页面的时候，就会执行get中的代码
            return this.firstName + ' ' + this.lastName
          },
          set(val) {
            // 当计算属性中的值被修改了之后，想更新回原数据，可以在此处写逻辑
            const arr = val.split(' ')
            // console.log(arr)
            this.firstName = arr[0]
            this.lastName = arr[1]
          }
        }
      }
    })
  </script>
</body>
</html>